package com.stx.jeepay.core.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.stx.jeepay.core.entity.TransferOrderEntity;


import java.util.Map;

/**
 * 转账订单表
 *
 * @author suntingxing
 * @email 1@gmail.com
 * @date 2023-09-11 13:05:22
 */
public interface TransferOrderService extends IService<TransferOrderEntity> {

    /** 查询商户订单 **/
    TransferOrderEntity queryMchOrder(String mchNo, String mchOrderNo, String transferId);

    /** 更新转账订单状态  【转账订单生成】 --》 【转账中】 **/
    boolean updateInit2Ing(String transferId);

    /** 更新转账订单状态  【转账中】 --》 【转账成功/转账失败】 **/
    boolean updateIng2SuccessOrFail(String transferId, Byte updateState, String channelOrderNo, String channelErrCode, String channelErrMsg);

    /** 更新转账订单状态  【转账中】 --》 【转账成功】 **/
    boolean updateIng2Success(String transferId, String channelOrderId);

    /** 更新转账订单状态  【转账中】 --》 【转账失败】 **/
    boolean updateIng2Fail(String transferId, String channelOrderId, String channelUserId, String channelErrCode);

    IPage<TransferOrderEntity> pageList(IPage iPage, LambdaQueryWrapper<TransferOrderEntity> wrapper, TransferOrderEntity transferOrder, JSONObject paramJSON);
}

